Various approaches to data protection have been devised which depend to some extent at least on the nature of the environment in which the data protection processes are to be implemented. For example, data protection processes and related considerations associated with a physical environment may be quite different from data protection processes and related considerations associated with a virtual environment. Moreover, the entity controlling data protection in a physical environment may not be the same entity that controls data protection in a virtual environment.
In more detail, running data protection storage as an appliance, whether in a cloud environment or simply as a virtual machine, can pose significant challenges, since the environment is not under full control of the appliance. As a result, detecting the root cause of problems, such as data corruption for example, can become difficult if not impossible. This is true at least in part because the source of such problems may not be readily ascertainable.
For example, in the example environment mentioned above, data corruption problems might stem from bugs in the code of the data protection appliance itself. However, data corruption problems may additionally, or alternatively, stem from various environmental factors and events. Some examples of such environmental factors and events can include cloud storage inconsistencies, caches between the virtual appliance and the physical storage, and an inability to detect transient errors on the backend storage of the cloud.
As well, virtualized environments can present particular difficulties in terms of the ability to detect, and identify the cause of, problems associated with data protection. In fact, there are some data integrity problems that can occur in a virtualized data protection environment that simply do not exist in physical data protection environments. At least some of such problems concern the detection and triaging of data corruption and data corruption events.
To illustrate, a physical data protection environment may include both hardware and software that is owned and controlled by a vendor. In this case, it may be relatively easy for the vendor to detect, and identify the source of, any data integrity problems in the physical data protection environment, since the vendor has a significant degree of control over the structure and operation of data protection operations in that environment.
On the other hand however, a virtualized data protection environment may be partly, or completely, controlled by the enterprise whose data is the subject of that data protection environment. In this case, a variety of different virtual elements may be defined and used that are based on hardware not controlled by the vendor. Such virtual elements might include, for example, storage, central processing unit (CPU), memory, network elements. As well, a hypervisor that creates and runs virtual machines in the virtualized data protection environment may also be controlled by the enterprise. Because of circumstances such as these, data corruption events that occur in the virtualized storage environment are difficult to detect and triage. While it is possible to examine, for example, hypervisor logs, storage logs, and switch logs, to identify the entity that caused the data corruption, such an approach would be very inefficient in practice, and may not be effective in any case.
Alternate data corruption detection methods may be devised as well. However, these other methods may be of only limited effectiveness, insofar as they can only identify whether or not data corruption has occurred, and do not identify the cause or source of the data corruption.
In light of the foregoing, it would be useful to provide mechanisms which are able to identify not only the fact that data corruption has occurred, but are also able to determine the source or cause of the data corruption, or at least eliminate certain entities or actors as being the source or cause of the data corruption. It would also be useful to implement such functionality in connection with a virtualized data protection environment.